/*
 * @Author: jingfuu@163.com
 * @Date: 2024-10-06 15:07:44
 * @LastEditTime: 2024-12-07 17:45:19
 * @Description: 系统模块
 */
import { Module } from '@nestjs/common';
import { UserController } from './controller/UserController';
import { UserService } from './service/UserService';
import { JwtModule } from '@nestjs/jwt';
import { Constants } from 'src/common/Constants';
import { CaptchaController } from './controller/CaptchaController';
import { AuthController } from './controller/AuthController';
import { DeptService } from './service/DeptService';
import { PostService } from './service/PostService';
import { RoleService } from './service/RoleService';
import MenuService from './service/MenuService';
import MenuController from './controller/MenuController';
import { MailService } from './service/MailService';
import MailSendController from './controller/MailSendController';
import RoleController from './controller/RoleController';
import DeptController from './controller/DeptController';
import PostController from './controller/PostController';
import DictController from './controller/DictController';
import DictService from './service/DictService';
import ConfigController from './controller/ConfigController';
import SystemConfigService from './service/SystemConfigService';
import NoticeController from './controller/NoticeController';
import NoticeService from './service/NoticeService';
import LoggerService from './service/LoggerService';
import MonitorController from './controller/MonitorController';

@Module({
  imports: [
    JwtModule.register({
      global: true,
      secret: Constants.JWT_SECRET,
    }),
  ],
  controllers: [
    UserController,
    CaptchaController,
    AuthController,
    MenuController,
    MailSendController,
    RoleController,
    DeptController,
    PostController,
    DictController,
    ConfigController,
    NoticeController,
    MonitorController,
  ],
  providers: [
    UserService,
    DeptService,
    PostService,
    RoleService,
    MenuService,
    MailService,
    DictService,
    SystemConfigService,
    NoticeService,
    LoggerService,
  ],
  exports: [SystemConfigService, LoggerService, DictService],
})
export class SystemModule {}
